home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / datasheets and manuals / Hardware / WHT / scsi / dsr_sources_2_2001 / 0powerup < prev    next >
Text File  |  2006-10-19  |  3KB  |  122 lines

  1. * Temporary power up code until I get one from Brad Snyder
  2. *
  3. *
  4. * All it does is clear all the memory
  5. *
  6.  
  7. PWRUP  SBO  1            Enable shadow RAM
  8.        CLR  R6
  9.        AI   R12,24
  10. PWRUP1 LDCR R6,4
  11.        LI   R5,>5000
  12. PWRUP2 CLR  *R5+
  13.        CLR  *R5+
  14.        CLR  *R5+
  15.        CLR  *R5+
  16.        CI   R5,>6000
  17.        JNE  PWRUP2
  18.        AI   R6,>100
  19.        CI   R6,>0800
  20.        JNE  PWRUP1
  21.        CLR  R6
  22.        LDCR R6,4
  23.  
  24. * Copy in the DSR return routine
  25. *
  26.        LI   R5,DSRRT1
  27.        LI   R6,DSRRT
  28. PWRUP3 MOV  *R5+,*R6+
  29.        CI   R5,DSRRT2
  30.        JNE  PWRUP3
  31.  
  32. * Copy in the bankit routine
  33. *
  34.        LI   R5,BNKST
  35.        LI   R6,>5DD6
  36. PWRUP4 MOV  *R5+,*R6+
  37.        CI   R5,BNKEND
  38.        JNE  PWRUP4
  39.  
  40. * Copy in the transfer routine
  41. *
  42.        LI   R5,XFER0
  43.        LI   R6,XFER
  44. PWRUP5 MOV  *R5+,*R6+
  45.        CI   R5,XFER1
  46.        JNE  PWRUP5
  47.  
  48.        ANDI R12,>FF00
  49.        MOV  R12,@BANKWS+24    Save base CRU address
  50.        MOV  R12,@CRUBAS
  51.        LI   R5,>0700          Set SCSI ID
  52.        MOVB R5,@IDNUM
  53.  
  54.        LI   R5,STINIT         Initialize the stack pointer
  55.        MOV  R5,@STACK
  56.  
  57.        SETO R5                Invalidate the SCSI buffer
  58.        MOVB R5,@>5DBF
  59.        MOV  R5,@>5DFC
  60.  
  61. * I am now doing the work of resetting the SCSI bus in this
  62. * routine rather than calling Brad's routine in bank 7.
  63.  
  64.        CLR  @WMR2            No SCSI interrupts
  65.        CLR  @WSER            No reselection
  66.        MOV  @RRPI,R1         Clear any pending interrupts
  67.  
  68.        LI   R1,>8000         RST bit
  69.        MOV  R1,@WICR         Set the RESET
  70.  
  71.        LI   R1,200           Leave RST on a while
  72. PWRUP6 DEC  R1
  73.        JNE  PWRUP6
  74.  
  75.        CLR  @WICR            Turn off RST
  76. PWRUP7 TB   IRQ              Wait for Reset interrupt
  77.        JNE  PWRUP7
  78.        MOV  @RRPI,R1         Clear the interrupt
  79.  
  80.        RT
  81.  
  82. * Transfer
  83. *
  84. * This little piece of code allows the program to
  85. * transfer control to another bank of ROM with
  86. * absolutely no hope for return.
  87. *
  88. XFER0  ANDI R12,>FF00
  89.        AI   R12,16
  90.        MOV  *R11,R1
  91.        LDCR R1,4         Set the ROM bank
  92.        ANDI R1,>00FF
  93.        SLA  R1,1
  94.        MOV  @>4000(R1),R1
  95.        B    *R1
  96. XFER1
  97.  
  98. * 5380/8490 REGISTER EQUATES ( READ )
  99.  
  100. RCSD   EQU  >4FE0             CURRENT SCSI DATA
  101. RICR   EQU  >4FE2             INITIATOR COMMAND
  102. RMR2   EQU  >4FE4             MODE
  103. RTCR   EQU  >4FE6             TARGET COMMAND
  104. RCSB   EQU  >4FE8             CURRENT SCSI BUS STATUS
  105. RBSR   EQU  >4FEA             BUS AND STATUS
  106. RIDR   EQU  >4FEC             INPUT DATA REGISTER
  107. *RRPI  EQU  >4FEE             RESET PARITY/INTERRUPTS
  108. RISR   EQU  >4FEE             INTERRUPT STATUS ( 8490 ONLY )
  109.  
  110. * 5380/8490 REGISTER EQUATES ( WRITE )
  111.  
  112. WODR   EQU  >4FF0             OUTPUT DATA
  113. WICR   EQU  >4FF2             INITIATOR COMMAND
  114. WMR2   EQU  >4FF4             TARGET COMMAND
  115. WTCR   EQU  >4FF6             MODE
  116. WSER   EQU  >4FF8             SELECT ENABLE
  117. WSDS   EQU  >4FFA             START DMA SEND
  118. WSDT   EQU  >4FFC             START DMA TARGET RECEIVE
  119. WSDI   EQU  >4FFE             START DMA INITIATOR RECEIVE
  120. WEMR   EQU  >4FFE             ENHANCED MODE ( 8490 ONLY )
  121. WIMR   EQU  >4FFE             INTERRUPT MASK ( 8490 ONLY )
  122.